use std::{env, process};
use std::error::Error;
use std::fs;

use mini_grep::Config;


fn main() {

    // 接收参数
    let args: Vec<String> = env::args().collect();

    // unwrap_or_else 会取出枚举中的值， 如果枚举是Ok， 取出ok中的数据， 如果是err， 执行闭包的程序
    let config = Config::new(&args).unwrap_or_else(|err| {
        eprintln!("报错了, {}", err);
        // 退出程序
        process::exit(1);
    });


    if let Err(e) = mini_grep::read(config) {
        eprintln!("报错了, {}", e);
        // 退出程序
        process::exit(1);
    }
}


